<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>


    <script>
        // 匿名函数
        var a = 1;
        (function fn( ){   //匿名函数局部作用域
            var a = 2
            console.log(a)

        })();
        console.log(a);

        //回调函数
        function fn1(callback){
            var a = 123;
            console.log('fn1执行');
            callback(a);
        }
        function fn2(num){
            console.log('fn2执行'+num)
        }
        fn1(fn2)

        // 递归函数
        // 递归包含边界条件(出口条件)、递归前进段和递归返回段
        // 老王有四个子女，老四比老三小2岁，老三比老二小2岁，老二比老大小2岁，老大现在16岁，问老四几岁？
        function age(who){
            if (who  == 1){
                return 16   //出口条件
            } else {
                return age(who-1)-2   //规律
            }
        }
        console.log(age(3));
    </script>
</body>
</html>